<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        function showAdd(a,b,c,d,e,f) {
            // arguments函数参数的集合
            console.log(arguments);
            // call 召唤 apply应用  bind绑定，绑定一个新的作用域
            // 在不是数组的arguments对象上召唤（call）数组的方法
            // 将数组的方法应用于（apply）不是数组的arguments对象上
            // call和apply的用途：1.扩充函数的作用范围 2.修改this指向
            // 语法： Father.call(Son, Father的参数1, Father的参数2, Father的参数3...)
            // let arr = Array.prototype.slice.call(arguments, 1,3);
            let arr = Array.prototype.slice.apply(arguments, [1,3]);
            console.log(arr);
            let sum = 0;
            // 遍历数组
            arr.forEach(function(item) {
                console.log('aaa', item);
                sum += item;
            });
            return sum
        }
        let res = showAdd(1,2,3,4,5,6);
        console.log(res);
    </script>
</body>
</html>